﻿

    $(function () {
        Show()
    })
    //显示工艺信息
    function Show() {
        layui.use(function () {
            var table = layui.table;
            // 点击导出按钮
            document.getElementById('exportBtn').addEventListener('click', function () {
                var checkStatus = table.checkStatus('processtable');  // 获取当前表格的选中状态
                var selectedData = checkStatus.data;  // 获取选中的数据
                if (selectedData.length === 0) {
                    alert('请先选择要导出的数据!');
                    return;
                }
                var filteredData = selectedData.map(function (item) {
                    // 创建一个新对象，只包含您想要的属性
                    return {
                        '工艺路线Id': item.processRouteId,
                        '工艺路线编号': item.processPouteNumber,
                        '工艺路线名称': item.processRouteName,
                        '状态': item.state == false ? "启用" : "禁用",
                        '成品名称': item.productName,
                        '创建时间': item.createdDate,
                        '创建人': item.createdBy,

                    };
                });

                // 使用 XLSX 导出选中的数据
                var wb = XLSX.utils.book_new();
                var ws = XLSX.utils.json_to_sheet(filteredData); // 将选中的数据转换为工作表
                XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');

                // 导出为 Excel 文件
                XLSX.writeFile(wb, '工艺路线列表.xlsx');
            });

            var ProcessPouteNumber = $("#ProcessPouteNumber").val();
            var ProcessRouteName = $("#ProcessRouteName").val();
            var State = $("#State").val();

            // 先进行表格的初始渲染
            table.render({
                elem: '#processtable',  // 表格元素的选择器
                page: {
                    limit: 5,
                    limits: [5, 8, 10]
                },
                cols: [[
                    { type: 'checkbox', fixed: 'left' },
                    { field: 'processPouteNumber', title: '工艺路线编号' },
                    { field: 'processRouteName', title: '工艺路线名称' },
                    {
                        field: 'state', title: '状态',
                        templet: function (d) {

                            if (d.state === true) {
                                return '<span style="color: red;">禁用</span>';
                            } else {
                                return '<span style="color: green;">启用</span>';
                            }

                        }
                    },
                    { field: 'productName', title: '成品名称' },
                    {
                        field: 'createdDate', title: '创建时间',
                        templet: function (d) {
                            // 假设createdDate字段是一个日期字符串，格式为'YYYY-MM-DD HH:MM:SS'
                            // 截取前10位以获取日期部分.substring(0, 10)
                            var dateStr = d.createdDate;
                            // 返回包含日期的HTML字符串（这里可以简单地返回日期字符串，不需要额外的HTML标签）
                            return dateStr;
                        }
                    },
                    { field: 'createdBy', title: '创建人' },

                    {
                        field: '', title: '操作', templet: function (d) {
                            return '<a class="layui-btn layui-btn-edit layui-btn-xs" onclick="showData(' + d.processRouteId + ')"><i class="layui-icon layui-icon-edit"></i>查看</a> ' +
                                '<a class="layui-btn layui-btn-edit layui-btn-xs" onclick="editData(' + d.processRouteId + ')"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
                                '<a class="layui-btn layui-btn-danger layui-btn-xs" onclick="deleteData(' + d.processRouteId + ')"><i class="layui-icon layui-icon-delete"></i>删除</a>';
                        }

                    }
                ]],
                // 初始时可以先不加载数据，等待 ajax 请求成功后再更新
                data: []
            });

            // 创建表格实例
            $.ajax({
                url: "../Process/ProcessList",
                type: "get",
                data: {
                    PageIndex: 1,
                    PageSize: 100,
                    token: "",
                    ProcessPouteNumber: ProcessPouteNumber,
                    ProcessRouteName: ProcessRouteName,
                    State: State
                },

                success: function (data) {
                    data = JSON.parse(data);
                    console.log(data.data.list);
                    // 在 ajax 请求成功后，使用正确的表格 ID 进行 reload
                    table.reload('processtable', {
                        page: {
                            limit: 5,
                            limits: [5, 8, 10]
                        },
                        data: data.data.list
                    });
                },
                error: function () {
                    console.log("请求失败");
                }
            });

        });

    }
    // 单删数据的函数
    window.deleteData = function (ProcessRouteId) {
        console.log(ProcessRouteId)

        layer.confirm('确定要删除该条数据吗？', function () {
            $.ajax({
                type: "post",
                url: "../Process/ProcessDelete",  // 替换为实际的后台删除数据接口地址
                data: { ProcessRouteId: ProcessRouteId, token: localStorage.getItem("token") },
                success: function (res) {
                    console.log(res)
                    var res = JSON.parse(res)
                    if (res.code == 1) {
                        layer.alert("删除成功");
                        Show();  // 重新加载数据，刷新表格显示
                    } else {
                        layer.alert("删除失败");

                    }
                },
                error: function () {
                    layer.msg('删除失败，请稍后重试', {
                        time: 2000,
                        icon: 2
                    });
                }
            });

        });
    };
    //编辑
    window.editData = function (processRouteId) {

        localStorage.setItem("checkId", processRouteId)
        console.log(localStorage.getItem("checkId"))
        location.href = '/Process/UpdateProcess';
    }
    //批量删除
    window.DeleteAllProces = function DeleteAllProces() {
        // 获取选中行的数据（这里主要是获取warehouseId）
        var checkStatus = layui.table.checkStatus('processtable');
        var token = localStorage.getItem("token");

        var ids = checkStatus.data.map(function (item) {
            return item.processRouteId;
        });

        if (ids.length == 0) {
            layer.msg("请至少选择一条要删除的数据");
            return;
        }
        var model = JSON.stringify({
            processRouteId: ids
        })

        layer.confirm('确定要批量删除选中的' + ids.length + '条数据吗？', function () {

            // 发送批量删除请求到后端
            $.ajax({
                type: "post",
                url: "../Process/ProcessDeleteAll", // 后端处理批量删除的接口地址，需根据实际情况调整
                data: {
                    data: model,
                    token: token,
                },

                success: function (res) {

                    var res = JSON.parse(res)
                    if (res.code == 1) {
                        layer.msg("批量删除成功")
                        // 重新加载表格数据，展示更新后的列表
                        Show();
                    } else {
                        layer.msg("批量删除失败");
                    }
                },

            });


        })

    }
    //查看详情跳转
    window.showData = function showData(processRouteId) {
        localStorage.setItem("checkId", processRouteId)
        console.log(localStorage.getItem("checkId"))
        location.href = '/Process/ShowPro';
    }


